package com.chenfan.mcn.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chenfan.mcn.component.dict.ContractingIdTranslator;
import com.chenfan.mcn.extension.log.FieldDesc;
import com.chenfan.mcn.model.base.BaseSaveEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 红人所在平台信息
 * </p>
 *
 * @author liuyang
 * @since 2021-01-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("star_platform_info")
public class StarPlatformInfo extends BaseSaveEntity {

    private static final long serialVersionUID = -7294288391529518114L;

    /**
     * 红人ID
     */
    private Long starId;

    /**
     * 所在平台ID
     */
    private String platformId;

    /**
     * 所在平台名称
     */
    @FieldDesc(value = "所在平台名称")
    private String platformName;

    /**
     * 平台昵称
     */
    @FieldDesc(value = "平台昵称")
    private String platNickName;

    /**
     * 用户ID
     */
    @FieldDesc(value = "用户ID")
    private String userId;

    /**
     * 平台链接
     */
    @FieldDesc(value = "平台链接")
    private String platLinkUrl;

    /**
     * 所在平台粉丝数量
     */
    @FieldDesc(value = "所在平台粉丝数量")
    private BigDecimal fansQuantity;

    /**
     * 基础互动量
     */
    @FieldDesc(value = "基础互动量")
    private BigDecimal interactiveQuantity;

    /**
     * 图文阅读量
     */
    @FieldDesc(value = "图文阅读量")
    private BigDecimal graphicReadingQuantity;

    /**
     * 视频阅读量
     */
    @FieldDesc(value = "视频阅读量")
    private BigDecimal videoReadingQuantity;

    /**
     * 播放量
     */
    @FieldDesc(value = "播放量")
    private BigDecimal videoPlayQuantity;

    /**
     * 分成比例
     */
    @FieldDesc(value = "分成比例")
    private BigDecimal devidedRate;

    /**
     * 备注
     */
    @FieldDesc(value = "备注")
    private String remark;

    /**
     * 账户ID（平台ID）
     */
    @FieldDesc(value = "账户ID")
    private String starPlatformId;

    /**
     * 是否参与绩效考核
     */
    @FieldDesc(value = "是否参与绩效考核")
    private Integer isAssessment;

    /**
     * 个人简介
     */
    @FieldDesc(value = "个人简介")
    private String individualResume;

    /**
     * 0-启用，1-禁用
     */
    @FieldDesc(value = "红人平台状态")
    private Integer platformStatus;

    /**
     * 我司合同主体id
     */
    @FieldDesc(value = "我司合同主体", translator = ContractingIdTranslator.class)
    private Long contractingId;

    /**
     * 我司合同主体
     */
    @TableField(exist = false)
    private String companyContractSubject;

    /**
     * 红人平台结算信息
     */
    @TableField(exist = false)
    private List<StarPlatformSettlementInfo> settlementInfos;

}